Field Of the Invention
The present invention relates to the field of computer displays and more particularly to displays that provide images having different gray scale levels.
A computer display, such as a liquid crystal display (LCD), provides an image as an array, P, of pixels, p.sub.ij. Each pixel has a pre-determined location in the array determined by the "i" and "j" coordinates. For an array with I rows and J columns, the image P is defined as follows:
______________________________________ p.sub.1,1 p.sub.1,2 p.sub.1,3 . . . p.sub.1,J p.sub.2,1 p.sub.2,2 p.sub.2,3 p.sub.3,1 p.sub.3,3 p.sub.3,3 . . . . . . p.sub.I,1 p.sub.I,2 p.sub.I,3 p.sub.I,J ______________________________________
The image P can be the entire screen of pixels where for a typical LCD display I equals 200 rows and J equals 640 columns of pixels. Similarly, the image P can be a single character which is a part of the entire screen of pixels where for a typical LCD display character I equals 8 rows and J equals 8 columns of pixels.
Each pixel, p.sub.ij, in the array for image P has a selectable data value (for example, "on" being binary 1 and "off" being binary 0). The composite data values of all pixels in the array define the image as an array of binary 1's and 0's. When that image is output to a computer display, the image is perceivable by human eyes.
Images are presented in sequential frames where each frame refreshes the image for human viewing at a refresh frame rate that is faster than can be detected by human eyes. Each frame has binary 1 or binary 0 data values for each of the pixels in the image. The i,j location of each pixel in the array is the same from frame to frame so that if the data values for each frame are not changed, the image is not changed. When the data values of pixels are changed, the image is changed.
Pixels that are on (binary 1) over a number of sequential frames provide images that appear to have a single intensity level of one value (black) while pixels that are off (binary 0) over a number of sequential frames provide images that appear to have a single intensity level of an opposite value (white).
In order to provide images that appear to human viewers to have different levels of intensity (shades of gray, gray scale levels), pixels that have data values that are normally on over a number of sequential frames are modulated to be on part of the time and off part of the time. The sequential frames over which data values of pixels are modulated for gray scale are called frame sets. Frame sets repeat one after another.
The number, F, of frames in a frame set can be any value but values between 4 and 256 frames are usual. In one example, F equals 8 and hence the modulation pattern repeats every eight frames. Over F frames, the image P is modulated by a scale pattern U which modulates each pixel, p.sub.ij, in the image P for each frame, f, with a scale pattern value, u.sub.f, to produce the modulated image U*P having modulated pixel values u.sub.f *p.sub.ij. The "*" is a modulation operator which is, for example, the logical AND of u.sub.f with p.sub.ij. The modulated image, U*P, for frame f is given as follows:
______________________________________ u.sub.f *p.sub.1,1 u.sub.f *p.sub.1,2 u.sub.f *p.sub.1,3 . . . u.sub.f *p.sub.1,J u.sub.f *p.sub.2,1 u.sub.f *p.sub.2,2 u.sub.f *p.sub.2,3 u.sub.f *p.sub.3,1 u.sub.f *p.sub.3,3 u.sub.f *p.sub.3,3 . . . . . . u.sub.f *p.sub.I,1 u.sub.f *p.sub.I,2 u.sub.f *p.sub.I,3 u.sub.f *p.sub.I,J ______________________________________
The gray scale levels for the modulated image U*P are determined by the scale pattern U. U has different values for different frames f in the frame set, F. In an example with a frame set of eight (F=8), the eight display frames are denoted by f=1, 2, 3, . . . , 8 and the values of U, one for each frame, are u.sub.1, u.sub.2, u.sub.3, u.sub.4, u.sub.5, u.sub.6, u.sub.7, u.sub.8.
A number of different gray scale levels are possible. In one example with eight gray scale levels, the first level U1 is "white" so that the normally on pixel is modulated to be off (binary 0) over all eight frames of the frame set. In the example, U1 has the values u.sub.1, u.sub.2, u.sub.3, u.sub.4, u.sub.5, u.sub.6, u.sub.7, u.sub.8 all equal to 0 (0/8 modulation). That is, u.sub.1 =0, u.sub.2 =0, u.sub.3 =0, and so on whereby the scale pattern U1 is 00000000. In the example, the second level of gray allows the normally on pixel to be on for only one out of eight frames (1/8 modulation) so that a scale pattern for U2 is, for example, 10000000. The third level allows the pixel to be on two out of eight frames (2/8 modulation) so that a scale pattern U3 is, for example, 10001000. In a similar manner, gray scale levels are established by scale patterns U4, U5, U6, U7, U8 that have still different numbers of 1's and 0's (for example, 4/8, 5/8, 7/8 and 8/8 modulation).
Pixel modulation for a selected gray scale level occurs over the frame set using any selected one of the scale patterns U1, U2, U3, U4, US, U6, U7, US. After the frame set completes, the gray scale modulation begins again for the next frame set and so on for each subsequent frame set.
If a first pixel, P.sub.ij, of an image is modulated over the frame set with one scale pattern, such as U1, and a second pixel p.sub.ij+1 in a location adjacent to the first pixel is also modulated over the frame set with the same scale pattern, U1, the modulation also produces an adjacent-pixel low frequency modulation component between the pixels P.sub.ij and P.sub.ij+1. For the U1 example where 1 of 8 pixels is on over the frame set, the adjacent-pixel low frequency modulation component is equal to 1/8 times the operating frequency. For an operating frequency of 60Hz, the low frequency component is equal to 7.5Hz and this low frequency component produces flicker in the display image that is observable by and disturbing to human eyes.
To minimize the flicker, U.S. Pat. No. 4,760,387 employs identical waveforms for modulating adjacent pixels, but the waveforms are phase-shifted so that the on time for two adjacent pixels having the same grey level are not coincident. The two waveforms essentially represent two phase-shifted scale patterns, U and Z, for modulating the adjacent pixels.
The modulation of the image P, having parts P.sup.1 and P.sup.2 where P.sup.1 is formed of pixels P.sub.i,j and where P.sup.2 is formed of adjacent pixels P.sub.ij+1 can be expressed as U*P.sup.1 Z*P.sup.2 UZ* where Z is a phase shifted copy of U. The U*P.sup.1,Z*P.sup.2 array of modulated pixels for a frame f is given as follows:
______________________________________ u.sub.f *p.sub.1,1 z.sub.f *p.sub.1,2 u.sub.f *p.sub.1,3 . . . z.sub.f *p.sub.1,I z.sub.f *p.sub.2,1 u.sub.f *p.sub.2,2 z.sub.f *p.sub.2,3 u.sub.f *p.sub.3,1 z.sub.f *p.sub.3,2 u.sub.f *p.sub.3,3 . . . . . . z.sub.f *p.sub.I,1 u.sub.f *p.sub.I,2 z.sub.f *p.sub.I,3 u.sub.f *p.sub.I,J ______________________________________
In the U*P.sup.1 Z*P.sup.2 array typical values for U1, U2, U3, U4, U5, U6, U7, U8 each with bits u.sub.1, u.sub.2, u.sub.3, u.sub.4, u.sub.5, u.sub.6, u.sub.7, u.sub.8 are given above. Corresponding values of scale patterns Z1, Z2, Z3, Z4, ZS, Z6, Z7, Z8 with bits z.sub.1, z.sub.2, z.sub.3, z.sub.4, z.sub.5, z.sub.6, z.sub.7, z.sub.8 are determined by phase shifting the U1, U2, U3, U4, U5, U6, U7, U8 scale patterns. For example, the scale pattern Z1 is 00000000, the scale pattern Z2 is 00001000, the scale pattern Z3 is 00100010, and so on for Z4, Z5, Z5, Z7, Z8.
A phase shift of identical waveforms, identical scale patterns such as U and Z discussed above, beneficially tends to increase the minimum value of the adjacent-pixel modulation frequency and hence tends to reduce flicker. For example, the U2 pattern 10000000 and the phase-shifted Z2 pattern 00001000 when used to modulate adjacent pixels tends to beneficially double the adjacent-pixel modulation frequency because a 1 will appear in one or the other of the patterns U2 or Z2 every 4 bits (a 1/4 modulation). When identical patterns U2 and U2 are employed (10000000 and 10000000), a 1 will appear in each of the the patterns once every 8 bits (a 1/8 modulation). The phase-shifted patterns provide a 1/4 modulation which for a 60Hz system is 15Hz, twice as good as the identical patterns with 1/8 modulation which for a 60Hz system is 7.5Hz.
Although the use of phase-shifted patterns tends to reduce flicker, the amount of flicker with a 15Hz frequency inherent in the phase-shift method is still quite noticeable.
It has been determined that human eyes tend to respond adversely to adjacent-pixel modulation frequencies that are below 30Hz. Accordingly, in order to prevent flicker due to adjacent-pixel modulation, the apparent minimum adjacent-pixel modulation frequency should not be less than 30Hz. The phase-shift method of U.S. Pat. No. 4,760,387 cannot guarantee that the minimum adjacent-pixel modulation frequency will not be less than 30Hz and hence an improved modulation method is needed.
When LCD displays employ gray scale modulation, a problem with charge accumulation arises. Each of the LCD pixel elements that is on tends to accumulate a charge when the polarity of the signal driving the LCD is applied in a single direction. In order to avoid charge accumulation, a charge modulation signal (M signal) is typically applied to the pixel elements. The charge modulation signal (M signal) alternates the polarity and the direction of the driving signal to the pixels. Accordingly, for a pixel element that is on for a number of frames, the charge accumulation for a driving signal of one polarity in one direction for one or more frames tends to be cancelled by the charge accumulation of a driving signal of opposite polarity in the opposite direction for the next one or more frames.
For a pixel, P.sub.i,j that is on, the polarity m.sub.f of the M signal modulates the pixel over a frame set, first with a "+" and then with a "-" polarity. For f=1, 2, 3, . . . , 8 frames, m.sub.f has a polarity pattern, M, as follows: EQU M=+-+-+-+-
For a pixel that has a data value 1 for all 8 frames in a frame set, the accumulating charge, AcC, accumulates to a net charge, NetC, of zero because there are an equal number of positive (4+) and negative (4-) values.
______________________________________ M = + - + - + - + - P.sub.I,J 1 1 1 1 1 1 1 1 AcC + - + - + - + - 4+, 4- NetAc 0 ______________________________________
For a pixel that has a data value 1 for all 8 frames and is modulated by a scale pattern 10101010 (to produce a 4/8 gray scale modulation), the accumulating charge, AcC, accumulates to a net charge, NetC, of 4+ because there are unequal numbers of positive (4+) and negative (0-) charge values as follows.
______________________________________ M = + - + - + - + - p.sub.I,J 1 1 1 1 1 1 1 1 U6 1 0 1 0 1 0 1 0 AcC + + + + 4+, 0- NetC 4+ ______________________________________
As indicated by the example above, the charge accumulation problem arises when scale patterns are employed that can cross modulate with the charge modulation M signal to produce an unequal number of positive and negative charges for a pixel over a period of time. The phase-shift method does not solve the charge accumulation problem and hence there is a need for improvement.
In accordance with the above background, there is a need for an improved display controller and computer system having an improved modulation method.